import { nGet } from "@ap/util/request";

interface AccountConfig {
  chatType: number;
  languageType: string;
}

export async function getModels(): Promise<Record<string, string>> {
  const response = await nGet<Record<string, string>>({
    url: "https://box3lab-api.fanhat.cn/v1/get_models",
  });
  return response || {};
}
export function generatePrompt(acc: AccountConfig): string {
  const lang = acc.languageType;
  const templates: Record<number, string> = {
    1: `作为[${lang}]领域的高级开发工程师，请对以下代码进行全面的Debug分析。要求：
1. 识别并定位所有潜在的bug和异常情况
2. 分析每个bug可能造成的影响
3. 提供完整的修复方案，包含代码实现
4. 补充必要的错误处理和日志记录
5. 确保修复后的代码符合最佳实践

待分析的代码：`,
    2: `作为[${lang}]架构专家，请对以下代码进行全面的质量评估和优化建议。分析维度：
1. 代码可维护性和可读性
2. 性能优化空间
3. 安全性隐患
4. 设计模式应用
5. 扩展性和重用性

请提供详细的优化方案和改进后的代码实现。待分析代码：`,
    3: `作为[${lang}]技术专家，请对以下代码进行专业且易懂的逐行分析。要求：
1. 解释代码的核心逻辑和实现思路
2. 点评代码中的亮点和创新之处
3. 指出可能的优化空间
4. 分享相关的最佳实践经验

待分析代码：`,
    4: `作为[${lang}]代码评审专家，请对以下代码进行整体分析和总结：
1. 代码的主要功能和目的
2. 核心算法和技术要点
3. 代码结构和模块划分
4. 潜在的技术债务
5. 改进建议

待分析代码：`,
    5: `作为[${lang}]游戏开发专家，请将以下游戏设计思路转化为高质量的实现代码。要求：
1. 优先使用最佳实践和成熟方案
2. 注重代码的性能和可维护性
3. 添加必要的注释和文档
4. 考虑异常处理和边界情况
5. 遵循项目的编码规范

设计思路：`,
    6: `作为[${lang}]技术文档专家，请为以下代码添加专业的注释和说明。要求：
1. 清晰说明代码的目的和功能
2. 解释关键算法和实现逻辑
3. 标注参数和返回值的含义
4. 提供使用示例和注意事项
5. 遵循项目的注释规范

待注释代码：`,
    7: `作为[${lang}]编程教育专家，请以生动有趣的方式向青少年讲解以下代码的应用场景：
1. 在游戏开发中的实际应用
2. 在实用工具中的运用
3. 在创意项目中的扩展

请通过具体示例展示代码的魅力：`,
    8: `作为[${lang}]API设计专家，请深入浅出地讲解以下API的使用方法：
1. 核心功能和使用场景
2. 参数配置和最佳实践
3. 常见问题和解决方案
4. 性能优化建议
5. 实用的扩展技巧

待讲解API：`,
    9: `作为[${lang}]创意编程导师，请基于以下代码启发学生的创新思维：
1. 代码的创新点和特色
2. 可能的改进和扩展方向
3. 有趣的应用场景
4. 创意开发的建议
5. 相关的学习资源

参考代码：`,
    10: `作为[${lang}]编程教育专家，请基于以下代码设计富有启发性的练习题：
1. 基础概念理解题
2. 代码优化改进题
3. 功能扩展设计题

请提供详细的解题思路和参考答案。原始代码：`,
    11: `作为[${lang}]代码优化专家，请全面评估以下代码并提供改进方案：
1. 代码质量分析
2. 性能优化建议
3. 架构改进思路
4. 最佳实践对照
5. 具体的优化实现

待优化代码：`,
    12: `作为[${lang}]编程能力评估专家，请对学生代码进行专业点评：
1. 代码实现的优秀之处
2. 需要改进的地方
3. 编程思维的特点
4. 技能提升建议
5. 后续学习方向

待评估代码：`,
    13: `作为[${lang}]重构专家，请对以下长函数进行专业的拆分优化：
1. 识别职责单一的功能块
2. 提取可复用的公共方法
3. 优化代码组织结构
4. 改善代码可读性
5. 确保重构后的质量

待重构代码：`,
    90: `作为[${lang}]问题诊断专家，请对以下代码问题进行深入分析：
1. 问题的根本原因
2. 影响范围评估
3. 修复方案设计
4. 验证方法建议
5. 预防措施建议

问题代码：`,
    300: `作为版本控制专家，请分析以下Git变更并生成规范的提交说明：
1. 变更的主要目的
2. 具体改动内容
3. 对系统的影响
4. 相关联的问题
5. 注意事项说明

变更内容：`,
    301: `作为代码评审专家，请总结以下Git变更的主要内容：
1. 功能改进要点
2. 技术升级亮点
3. 性能优化成效
4. 代码质量提升
5. 其他重要改进

变更内容：`,
    302: `作为变更管理专家，请详细分析以下Git变更的文件结构：
1. 核心文件变动
2. 依赖关系影响
3. 结构调整说明
4. 兼容性保证
5. 部署注意事项

变更内容：`,
    999: ``,
  };

  return templates[acc.chatType] ?? ``;
}
